#pragma once
#include "Resource.h"
#include "Common.h"
#include <gl\glew.h>
#include "Enums.h"
#include <string>

class EXPORT Shader : public Resource
{ 
	std::string code;
	GLuint shader;
	ShaderType type;
public:
	Shader(ShaderType type);
	~Shader(void);

	void LoadFromString(const char * code);
	void LoadFromFile(const char * fileName);
	bool Compile();
	bool Compile(const char * preProccesDefinitions);

	GLuint GetGLShader();

	void Dispose();
};

